home *** CD-ROM | disk | FTP | other *** search
- Chapter3
-
- The QEMM.SYS Program
-
- This chapter is the reference guide for the command line
- parameters used with QEMM386.SYS. Since QEMM386.SYS configures
- itself as it thinks appropriate for your system, you should not
- have to use the commands in this chapter unless you want to fine-
- tune your memory configuration or you are experiencing problems.
-
- To use a QEMM386.SYS command line parameter you type the
- parameter name on the same line as DEVICE=QEMM386.SYS in your
- CONFIG.SYS file. You may use an abbreviation instead of the
- parameter name. The abbreviation for each QEMM386.SYS command
- line parameter is shown below in parentheses after each parameter
- name. For example, the QEMM386.SYS command line with the RAM and
- ROM parameters set, looks like:
-
- DEVICE=QEMM386.SYS RAM ROM=C000
-
- IMPORTANT: Do not put spaces within a parameter. In the example
- above, make sure that you do not have a space before or after
- the = sign in ROM=C000. Also, all of the parameters must be typed
- on the same line as DEVICE=QEMM386.SYS.
-
- There are three categories of QEMM386.SYS parameters: frequently
- used parameters, fine-tuning parameters, and parameters to try
- when QEMM does not work. Note there is often no good way of
- knowing that a parameter will help your situation~dash~you will
- have to
- experiment.
-
- Most frequently used QEMM386.SYS command line parameters are:
-
- ~Item~ RAM or RAM=xxxx-yyyy puts RAM everywhere or in the range
- specified. The RAM parameter must be set if you want to run TSRs,
- drivers or DOS resources in high memory.
-
- ~Item~ ROM, ROM=xxxx or ROM=xxxx-yyyy puts ROM everywhere or in
- the range specified. Specifying ROM usually provides better
- performance since RAM is often faster than ROM.
-
- ~Item~ INCLUDE=xxxx-yyyy, (I), considers the range specified
- mappable.
-
- ~Item~ EXCLUDE=xxxx-yyyy, (X), considers the range specified
- unmappable.
-
- QEMM-386 command line parameters to use when fine-tuning your
- memory include:
-
- ~Item~ HELP displays all QEMM386.SYS parameters and a one line
- description of what each does.
-
- ~Item~ ? displays a list of all QEMM386.SYS command line
- parameters and where appropriate the abbreviation for the
- parameter.
-
- ~Item~ ADAPTERRAM=xxxx-yyyy, (ARAM), indicates that an adapter
- has RAM in the range specified.
-
- ~Item~ ADAPTERROM=xxxx-yyyy, (AROM), indicates that an adapter
- has ROM in the range specified.
-
- ~Item~ AUTO, (AU), sets QEMM to turn on if necessary.
-
- ~Item~ COMPAQEGAROM, (CER), relocates Compaq's video ROM.
-
- ~Item~ COMPAQHALFROM, (CHR), splits Compaq's system ROM in half.
-
- ~Item~ COMPAQROMMEMORY, (CRM), uses Compaq ROM memory.
-
- ~Item~ DOS4, (D4), alters EMS page ordering for DOS 4.00.
-
- ~Item~ EMBMEM=XXXXX,(EMB), sets the maximum amount of memory that
- a program which uses the extended memory specification (XMS),
- will see as available.
-
- ~Item~ EXTMEM=xxxxx, (EXT), specifies the amount of extended
- memory which should not be used by QEMM.
-
- ~Item~ FORCEEMS, (FEMS), allows EMS calls when there is no page
- frame.
-
- ~Item~ FRAME=xxxx, (FR), sets the page frame location (either a
- segment or NONE).
-
- ~Item~ FRAMELENGTH=x, (FL), sets size of page frame.
-
- ~Item~ HMAMIN=xx, sets the minimum size of the HMA (0-63K).
-
- ~Item~ INCLUDE386, (I386), a variation of INCLUDE for use in
- MCA.ADL files.
-
- ~Item~ MAPS=xx, (MA), sets the number of alternate register sets.
-
- ~Item~ MEMORY=xxxxx, (ME) or (MEM), specifies the 80386 extended
- memory that QEMM uses both for itself and as expanded memory.
-
- ~Item~ NOEMS, tells QEMM not to be an expanded memory manager.
-
- ~Item~ NOPAUSEONERROR, (NOPE), does not pause on error.
-
- ~Item~ NOVIDEORAM, (NVR), excludes video RAM from use as high
- RAM.
-
- ~Item~ NOWINDOWS3,(NW3), disables the features built into
- QEMM-386 which support the running of Windows 3.0 in protected
- modes.
-
- ~Item~ OFF, (OF), turns QEMM off.
-
- ~Item~ ON, turns QEMM on.
-
- ~Item~ PAUSE, pauses while parsing commands.
-
- ~Item~ VIDRAMEGA, (VREGA), excludes video RAM area from being
- mapped.
-
- ~Item~ VIDRAMEMS, (VREMS), fills video RAM but excludes its use
- as DOS memory or high RAM.
-
- ~Item~ WATCHDOG=[0,1,2], (WD), sets the type of watchdog timer.
-
- QEMM386.SYS command line parameters that should only be used when
- experiencing problems include:
-
- ~Item~ COMPAQ386S, (C386S), identifies your PC as a Compaq 386S.
-
- ~Item~ DISKBUF=xx, (DB), specifies the size in K of the disk
- buffer to use to handle SCSI disk drives.
-
- ~Item~ DMA=xx, (DM), sets the size of the DMA buffer.
-
- ~Item~ DONTUSEXMS, (DUX), prevents QEMM from making XMS calls to
- an XMS driver.
-
- ~Item~ GETSIZE (GS), an internal parameter used by OPTIMIZE.
-
- ~Item~ HANDLES=xxx, (HA), sets the number of EMS handles.
-
- ~Item~ IGNOREA20, (IA), does not trap the 8042.
-
- ~Item~ IOTRAP=xx, modifies QEMM's monitoring of I/O Port
- addresses.
-
- ~Item~ LABEL (LB), an internal parameter used by OPTIMIZE.
-
- ~Item~ LOCKDMA (LD), modifies interrupt enable behavior.
-
- ~Item~ NOCOMPAQFEATURES, (NCF), disables use of EGAROM, HALFROM,
- and ROMMEMORY on a Compaq computer.
-
- ~Item~ NOFILL, (NO), does not fill conventional memory.
-
- ~Item~ NOHMA, instructs QEMM to consider the HMA already
- allocated.
-
- ~Item~ NOROM, (NR), does not map the reboot page of the system
- ROM.
-
- ~Item~ NOROMHOLES, (NRH), does not look for holes in the system
- ROM.
-
- ~Item~ NOSHADOWRAM, (NOSH), does not use Shadow RAM.
-
- ~Item~ NOSORT, (NS), does not sort memory.
-
- ~Item~ NOTOKENRING, (NTR), inhibits alternate method of detecting
- a Token Ring Adapter.
-
- ~Item~ NOTOPMEMORY, (NT), does not look for top memory.
-
- ~Item~ NOVDS, disables support of the Virtual DMA Services
- specification.
-
- ~Item~ NOVIDEOFILL, (NV), does not fill video memory.
-
- ~Item~ NOXBDA, (NX), does not move the extended BIOS data area.
-
- ~Item~ NOXMS, instructs QEMM to not be an extended memory
- manager.
-
- ~Item~ OLDDV, (ODV), tells QEMM that you are running DESQview 1.3
- or 2.00.
-
- ~Item~ REGION, (R), an internal parameter used by OPTIMIZE.
-
- ~Item~ TASKS=xx, (TA), sets the interrupt nesting level.
-
- ~Item~ UNUSUAL8042, (U8), tells QEMM that your 8042 is
- non-standard.
-
- ~Item~ UNUSUALEXT, (UX), tells QEMM that the method of
- determining the amount of extended memory is non-standard.
-
- ~Subhead~ Most Used Parameters
-
- Described below are the QEMM386.SYS command line parameters that
- you use most frequently.
-
- ~Item~ RAM or RAM=xxxx-yyyy specifies that QEMM should "fill in"
- areas of memory above 640K and below 1024K which do not have ROM
- or adapter RAM in them and are not in the page frame. These areas
- can then be used by the LOADHI programs and DESQview's XDV
- program. You may specify RAM without the address range xxxx-yyyy
- and let QEMM automatically use all appropriate memory addresses.
- If RAM is specified, QEMM's initial state is forced ON and cannot
- be overridden.
-
- ~Item~ ROM, ROM=xxxx or ROM=xxxx-yyyy specifies areas of ROM
- which should be copied to RAM and then mapped into the same
- place. xxxx and yyyy are hexadecimal numbers which specify the
- address range which should be copied. Specifying ROM usually
- results in the ROM code running much faster since RAM is often
- faster than ROM. For example, to have the system BIOS ROM mapped
- into RAM you would use ROM=F000-FFFF. To map an EGA ROM use
- ROM=C000 as in the last example, only specify the starting
- address and let QEMM determine the size of the ROM. You may
- specify ROM without the address range xxxx-yyyy and let QEMM map
- all ROMs. If ROM is specified, QEMM's initial state is forced ON
- and cannot be overridden.
-
- ~Item~ INCLUDE=xxxx-yyyy, (I), specifies an area of memory which
- should be under the control of QEMM. xxxx and yyyy are
- hexadecimal numbers which specify the address range (xxxx-yyyy)
- which should be included. xxxx should be a multiple of 4K. Under
- normal conditions, QEMM automatically detects all usable areas.
- This parameter is most frequently used based on suggestions made
- by the QEMM Analysis procedure (see Chapter 4, The QEMM.COM
- Program, page 33). Another use is if you wanted to have QEMM use
- an unused video area, such as the color area when using a VGA
- with a monochrome monitor, then INCLUDE=B800-BFFF would be
- appropriate. The INCLUDE and EXCLUDE options are processed
- sequentially, so it is possible to EXCLUDE an area and then
- INCLUDE a part of it later on the command line.
-
- ~Item~ EXCLUDE=xxxx-yyyy, (X), specifies an area of memory in the
- first megabyte which should not be under the control of
- QEMM386.SYS. You only need to specify an excluded region if
- QEMM386.SYS cannot automatically detect it. xxxx and yyyy are
- hexadecimal numbers which specify the address range (xxxx-yyyy)
- which should be excluded. xxxx should be a multiple of 4K. For
- example, if you have a network adapter that uses 16K of memory at
- address CC00, then you would use EXCLUDE=CC00-CFFF. You may
- specify multiple ranges by using EXCLUDE several times.
-
-
- Note that QEMM needs at least 64K of contiguous memory above
- 640K (A000 to F000) for a page frame, so care must be taken to
- leave at least 64K free in this area. If a 64K area can not be
- found above 640K, then 576K (9000) will be automatically selected
- by
- QEMM386.SYS. If selected, the 9000 address will reduce the amount
- of memory available to DOS by 64K. (See also Page 19 for more
- information about the FRAME command line parameter.)
-
- ~Subhead~ Fine-tuning Parameters
-
- QEMM386.SYS command line parameters that you use in fine-tuning
- your memory are listed below.
-
- ~Item~ HELP displays all QEMM386.SYS parameters and a one line
- description of what each does.
-
- ~Item~ ? displays a list of all QEMM386.SYS command line
- parameters and where appropriate the abbreviation for the
- parameter.
-
- ~Item~ ADAPTERRAM=xxxx-yyyy, (ARAM), identifies an area of memory
- as having RAM from an adapter of some sort, usually a network
- adapter, 3270 adapter, or some other special device. Normally
- QEMM automatically finds these areas, but with some adapters may
- not be able to. If it does not, then you use this switch to
- specify the type of memory in this area. These devices usually
- use this RAM to provide very high performance by allowing the PC
- to access some memory on the adapter as though it is part of the
- computer's memory. These areas must NOT be used as high RAM. The
- ADAPTERRAM switch is just like EXCLUDE, except that the QEMM.COM
- Type display will show the area as "Adapter RAM" rather than as
- "Excluded".
-
- ~Item~ ADAPTERROM=xxxx-yyyy, (AROM), identifies an area of memory
- as having ROM from an adapter of some sort. This ROM area is
- usually from a network adapter, 3270 adapter, video adapter, or
- some other special device. Normally QEMM automatically finds
- these areas, but with some adapters it may not be able to. If it
- does not, then you use this switch to specify the type of memory
- in this area. The ROM for the adapter might not be visible to
- QEMM when it is looking for ROM. This switch ensures that QEMM
- will not allow the area to be mappable, and thus it will not
- place high RAM into the area. If the ROM is seen by QEMM and the
- ROM switch also appears, then the adapter ROM will be mapped to
- RAM to speed up access to the ROM. Specifying ADAPTERROM is more
- like EXCLUDE, but allows you to document the excluded area for
- yourself.
-
- ~Item~ AUTO or ON or OFF, (AU or ON or OF), controls whether QEMM
- puts the system into virtual 8086 mode and how expanded memory
- should be handled. AUTO (AU) specifies that QEMM should turn ON
- when a program needs expanded memory. ON specifies that expanded
- memory is available and the processor is in virtual 8086 mode.
- OFF (OF) specifies that expanded memory is not available and the
- processor is in real mode. If you do not specify any of these
- three parameters, AUTO is used. We recommend that you use AUTO
- unless you have a specific reason for setting the initial state
- to ON or OFF.
-
- Note that if the RAM or ROM parameters are specified, the
- initial state is automatically set to ON, and may not be turned
- OFF.
-
- ~Item~ COMPAQEGAROM, (CER), relocates Compaq's video ROM. Compaq
- computers automatically copy the slow EGA or VGA ROM which is
- addressed at C000 to fast memory addressed at E000. QEMM386.SYS
- reverses this process to increase the amount of high memory on
- Compaq computers. It also automatically maps RAM into the
- addresses of ROM at C000 to increase the ROM speed. When
- QEMM386.SYS detects a Compaq 386, QEMM386.SYS will use
- COMPAQEGAROM (CER) as a default. If you want to shut it off,
- specify NOCOMPAQFEATURES (NCF) on the QEMM386.SYS command line.
-
- ~Item~ COMPAQHALFROM, (CHR), splits Compaq's system ROM in half.
- Most Compaq 386 computers have two halves to their system ROM.
- The two halves are addressed at F000-F7FF and F800-FFFF. These
- addresses contain redundant information. QEMM386.SYS splits the
- ROM to make the redundant section useful for high memory. When
- QEMM386.SYS detects a Compaq 386, QEMM386.SYS sets COMPAQHALFROM
- (CRM) as a default. If you want to shut this off, specify
- NOCOMPAQFEATURES (NCF) on the QEMM386.SYS command line.
-
- ~Item~ COMPAQROMMEMORY, (CRM), uses Compaq ROM memory. Compaq
- Deskpro 386 computers reserve 128K of high memory addresses to
- speed up the system ROM and the EGA ROM. QEMM386.SYS can both
- speed up the system ROM (using its ROM parameter) and make these
- high memory addresses available to load TSRs, device drivers, and
- DOS resources, using its LOADHI programs. When QEMM detects a
- Compaq 386, QEMM will use COMPAQROMMEMORY (CRM) as a default. If
- you want to turn this parameter off, you must specify
- NOCOMPAQFEATURES (NCF).
-
- ~Item~ DOS4, (D4), alters EMS page ordering for DOS 4.00. You
- use DOS4 only with PC-DOS version 4.00 and when using its /X
- instruction. DOS4 instructs QEMM386.SYS to deviate from the EMS
- 4.0 specification enough to accommodate bugs in early versions of
- PC-DOS 4.0, which do not strictly adhere to the EMS 4.00
- specification. If you are using PC-DOS 4.00 we recommend you not
- use the /X switch to BUFFERS, VDISK, and FASTOPEN.
-
- ~Item~ EMBMEM=xxxxx,(EMB), sets the maximum amount of memory that
- a program which uses the extended memory specification (XMS) will
- see as available. the xxxxx defines the amount of extended
- memory, in K, which will be seen. The default is 12288K (12
- Meg.). This parameter can be used to prevent Windows 3.0 from
- taking control of all extended memory, so that programs which
- allocate memory through the Virtual Control Program Interface
- (VCPI) or Expanded Memory (EMS), can find memory available while
- running in Windows 3.0 in Standard mode.
-
- ~Item~ EXTMEM=xxxxx, (EXT), specifies the amount of extended
- memory which should not be used by QEMM386.SYS. The xxxxx must be
- in the range 1 to 31744 representing an allocation of 1K to
- 31744K. This parameter is useful when using RAM disks and disk
- caches which use extended memory, since you can ask QEMM to
- "leave alone" the memory needed. If the EXTMEM parameter is
- omitted, QEMM leaves no extended memory and uses all it can find.
- The EXTMEM and MEMORY parameters have opposite meanings. The
- EXTMEM means "leave at least this much memory". MEMORY means "use
- as much as this much memory".
-
- ~Item~ FORCEEMS, (FEMS), instructs QEMM to allow EMS memory
- requests to be honored. Use this parameter only if you have used
- the FRAMELENGTH parameter (see below) with a value less than
- four. This will allow programs limited access to expanded memory
- even without a full page frame. Be aware that some programs which
- use expanded memory may not work with a partial or missing page
- frame if you use this option.
-
- ~Item~ FRAME=xxxx, (FR), specifies the page frame address, which
- is the address of the beginning of the 64K segment through which
- expanded memory is mapped according to the EMS specification.
- Typical locations for xxxx are: C000, C400, C800, CC00, D000,
- D400, D800, DC00, or E000. In unusual cases A000 may be used if
- no free area can be found and you have a monochrome or CGA video
- adapter card. A 64K area of memory should be available at one of
- these addresses to in order to provide EMS capabilities. If the
- FRAME parameter is omitted, the value of xxxx is chosen by QEMM
- according to your hardware configuration. We recommend that you
- not set FRAME except when QEMM's automatic choice of a base
- address fails because of a hardware conflict that QEMM can't
- detect. If there are no satisfactory addresses available, QEMM
- still can be used for memory filling, sorting, high RAM filling,
- multitasking and ROM mapping, but not as an expanded memory
- manager, by specifying FRAME=NONE.
-
- ~Item~ FRAMELENGTH=x, (FL), instructs QEMM to assume a page frame
- containing x pages, where x is a number from 0 to 4. Setting x to
- zero is equivalent to not having a page frame at all. See also
- FRAME=NONE. Setting x to four is equivalent to the EMS standard.
- Normally a page frame is established by the expanded memory
- manager and consists of four 16K pages. With this parameter, QEMM
- allows you to free up one or more of these pages for use as high
- RAM. Or, you can use this option with FORCEEMS if you have
- programs which can make use of expanded memory in the absence of
- a page frame, or with a partial page frame. This can be important
- if none of your high memory areas is large enough for a standard
- size page frame. See also FORCEEMS and NOEMS.
-
- ~Item~ HMAMIN=xx, specifies the minimum amount of memory that a
- program which uses the XMS High Memory Area (HMA) can request.
- Since only one program can use the HMA but several programs might
- want to use it, this parameter only allows a program which uses
- at least xxK of memory in the HMA. The parameter is not necessary
- if you have only one program which uses the HMA, such as
- DESQview. xx must be in the range 1-63.
-
- ~Item~ INCLUDE386, (I386), is identical to the INCLUDE switch. It
- is available to be added to the MCA.ADL file as a QEMM-386
- specific switch which will not be recognized as a parameter by
- QEMM-50/60. use this in situations where the same MCA.ADL file
- must be read and processed by both QEMM-386 and QEMM-50/60 and
- the I386 value is not appropriate to QEMM/50-60.
-
- ~Item~ MAPS=xxx, (MA), specifies the number of alternate maps
- which are available. xxx must be in the range 0 to 255. Each map
- uses 4K of extended memory. Alternate maps are used by operating
- environments to enhance multitasking performance. For this
- purpose, you should specify xx to be equal to the number of
- programs to be run concurrently plus 2. The default value is 8.
- If you do not run a multitasker, you can set MAPS=0.
-
- ~Item~ MEMORY=xxxxx, (ME or MEM), specifies the amount of 80386
- extended memory that QEMM uses both for itself and as expanded
- memory. xxxxx should be in the range 128 to 32128, representing
- an allocation of 128K to 32128K. If the MEMORY parameter is
- omitted, QEMM takes all of the available extended memory.
-
- ~Item~ NOEMS tells QEMM not to provide any expanded memory
- services at all, even for multitasking. It is only useful if you
- want to load a different expanded memory manager, but you still
- want to use QEMM for its other features.
-
- ~Item~ NOPAUSEONERROR, (NOPE), tells QEMM not to pause on an
- error. QEMM usually displays a "Press any key to continue, ESC to
- abort" message after parsing command line instructions if there
- are parameter errors. This instructs QEMM386.SYS not to display
- the message. When an instruction causes QEMM386.SYS to generate
- the above error, and when the error generated has been shown not
- to cause any disruption of the system, use the NOPE instruction.
-
- ~Item~ NOVIDEORAM, (NVR), restricts QEMM from automatically
- creating high RAM in mappable memory in the video area
- (640K-736K). When using Monochrome, Hercules, or CGA video
- adapters, QEMM-386 normally fills the unused memory areas between
- 640K and 736K with memory and raises the DOS upper memory limit
- to 704K or 736K. This process is called "video filling". If you
- do not want the DOS memory limit increased, then you must specify
- NOVIDEOFILL. The video areas will be treated as high RAM if
- NOVIDEOFILL and RAM are specified. If you do not want the area
- treated as high RAM, then you may specify NOVIDEORAM which will
- prevent any area below C000 not explicitly specified as high RAM
- from becoming high RAM. Most people will not need to use this
- parameter; it is intended to make VIDRAMEGA and VIDRAMEMS easier
- to understand.
-
- ~Item~ NOWINDOWS3,(NW3), disables the features built into
- QEMM-386 which support the running of Windows 3.0 in protected
- modes. Windows 3.0 would still be able to run in real mode with
- this parameter set. Using this parameter reduces QEMM-386's
- conventional memory overhead by about 1K.
-
- ~Item~ OFF, (OF), see AUTO|ON|OFF.
-
- ~Item~ ON see AUTO|ON|OFF.
-
- ~Item~ PAUSE tells QEMM386.SYS to pause the display when
- outputting messages. The PAUSE command permits you to hit the
- "Esc" key to stop QEMM386.SYS from installing. This is useful
- when trying out new parameters, so you can abort the load if
- there was an error. Note that if there is an error on the
- QEMM386.SYS command line, QEMM will automatically pause to show
- you the source of the error.
-
- ~Item~ VIDRAMEGA, (VREGA), instructs QEMM that the video area is
- not to be considered mappable. This is equivalent to the option:
-
- EXCLUDE=A000-BFFF
-
- Use this switch when you intend to extend DOS' available memory
- using the VIDRAM program and want to use the memory already
- available on the video adapter board (EGA/VGA). With this
- setting, you preserve your complement of expanded memory at the
- cost of using the much slower memory from the video adapter. See
- Chapter 7: The VIDRAM Program.
-
- ~Item~ VIDRAMEMS, (VREMS), instructs QEMM to fill the video
- memory area, but not to extend DOS' memory or convert video RAM
- to high RAM. This will put fast memory into the video area and
- preserve it for the VIDRAM program to manage as needed. This
- switch is
- equivalent to the following QEMM switches:
-
- I = A000-AFFF NOVIDEOFILL NOVIDEORAM
-
- See also the QEMM switches: NOVIDEORAM and VIDRAMEGA, and
- Chapter 7: The VIDRAM Program.
-
- Note: VIDRAMEMS should not be used with versions of DESQview
- prior to Version 2.26. Also be alert to possible problems related
- to this option when using other applications that make extensive
- use of expanded memory.
-
- ~Item~ WATCHDOG=0,1, or 2, (WD), specifies the type of watchdog
- timer set. In the DESQview Change a Program "Protection level
- (0-3)" setting, level one represents protection against programs
- which lock interrupts for too long. Watching for locked
- interrupts depends on the existence of certain hardware. There
- are two different kinds of hardware that QEMM386.SYS supports to
- perform the "WATCHDOG" timer feature. One is on PS/2s and another
- is on Compaq Deskpro 386 computers. By default QEMM386.SYS tries
- to determine which hardware to use. The WD switch is for a
- machine which "clones" one or the other of the above mentioned
- features. WD=0 means no watchdog timer; WD=1 means PS/2-style;
- WD=2 means Compaq-style.
-
- ~Subhead~ Problem-solving Parameters
-
- Described below are those QEMM386.SYS command line parameters
- that should be used only when you are experiencing problems.
-
- ~Item~ COMPAQ386S, (C386S), identifies the PC as a Compaq 386S.
- QEMM will normally be able to automatically identify the Compaq
- 386S if Compaq's Setup program version 6.02 or greater has been
- run. If you are not using this version, then this switch is
- necessary in order for QEMM to perform the correct optimizations.
- After using version 6.02 or greater of Compaq's Setup program,
- you will not need this switch.
-
- ~Item~ DISKBUF=xx, (DB), specifies the size of the SCSI disk
- buffer, in K. Because of the special way that SCSI devices access
- memory, QEMM's normal DMA buffering is not adequate. QEMM can
- optionally use a separate SCSI buffer for fixed disk accesses.
- This parameter specifies the size of this buffer. The larger the
- buffer, the better the disk performance, at the expense of
- conventional memory use.
-
- ~Item~ DMA=xxx, (DM), specifies the length of the maximum DMA
- transfer that can performed. xxx must be in the range 12 to 128,
- representing a maximum length of 12K to 128K. The default is 64K
- on PS/2 and XT architecture machines, 12K on others.
-
- ~Item~ DONTUSEXMS, (DUX), instructs QEMM to not attempt to
- acquire any memory through the use of XMS interface calls to a
- previously loaded XMS driver.
-
- ~Item~ GETSIZE, (GS), an internal parameter set by OPTIMIZE. QEMM
- does not reside in high RAM, so it always returns zero.
-
- ~Item~ HANDLES=xxx, (HA), specifies the number of handles
- available. xxx must be in the range 16 to 255. Each application
- which uses expanded memory requires at least one handle. Some
- applications require extra handles. The default is 64 which
- should be adequate for most purposes. Larger values increase the
- amount of extended memory used by QEMM. Each HANDLE requires 28
- bytes of extended memory.
-
-
- ~Item~ IGNOREA20, (IA), tells QEMM not to trap the 8042. By
- default, QEMM386.SYS traps the 8042 ports for the purpose of
- detecting programs which attempt to manipulate the state of the
- A20 line. Programs do this to access extended memory. However,
- sometimes keyboard problems arise as a result. The IA instruction
- disables support of HIMEM.SYS, but it may serve to remove some
- keyboard-related problems as a trade-off. QEMM-386 supports XMS,
- and so there is no good reason to load HIMEM.SYS.
-
- ~Item~ IOTRAP=xx, instructs QEMM to revert to an older method of
- monitoring I/O port address access and usage. In the older
- architecture, I/O port addresses were by convention replicated
- after a certain interval throughout the I/O port address space.
- The newer architecture assigns I/O ports more explicitly. QEMM is
- prepared to assume the older convention if you find that
- necessary. The value of xx should be 1 or 64, where 64 instructs
- QEMM to assume the older convention.
-
- ~Item~ LABEL, (LB), an internal switch used by OPTIMIZE.
-
- ~Item~ LOCKDMA, (LD), instructs QEMM to allow interrupts to
- remain disabled during DMA transfers. QEMM normally will attempt
- to keep interrupts enabled as much as possible. This switch is
- provided specifically for the 10-Net network program which
- requires that interrupts remain disabled during DMA transfer set
- up.
-
- ~Item~ NOCOMPAQFEATURES, (NCF), disables use of EGAROM, HALFROM,
- and ROMMEMORY on a Compaq computer. If QEMM detects a Compaq
- computer, it turns on all three Compaq parameters (COMPAQEGAROM,
- COMPAQHALFROM, and COMPAQROMMEMORY). You can turn them all off by
- specifying NOCOMPAQFEATURES. After turning all features off, you
- may turn each on separately.
-
- ~Item~ NOFILL, (NO), specifies that QEMM386.SYS should not fill
- conventional memory below 640K. This option is only meaningful if
- your machine has less than 640K of conventional memory. If it
- does, QEMM normally fills in this missing memory, up to 640K from
- extended memory. NOFILL specifies not to do this. If QEMM fills
- conventional memory, the initial state ON is forced and cannot be
- overridden. NOFILL also prevents video filling (see NOVIDEOFILL).
-
- ~Item~ NOHMA instructs QEMM to consider the HMA already
- allocated. If there is an XMS driver loaded before QEMM and the
- HMA is already allocated, you should use this switch or NOXMS.
-
- ~Item~ NOROM, (NR), tells QEMM not to map the reboot page of the
- system ROM. QEMM normally maps one 4K page of the system ROM in
- order to detect reboots. QEMM386.SYS can often detect re-boots
- without this process. In this case, you may specify NOROM and
- save 4K of memory.
-
- ~Item~ NOROMHOLES, (NRH), disables QEMM's automatic detection of
- ROM holes, or unused addresses in ROM. Many system ROMS which are
- addressed between F000 and FFFF have large unused areas.
- QEMM386.SYS automatically detects unused areas and includes them.
- However, sometimes QEMM386.SYS's auto-detection does not work,
- due to some areas that appear unused when they are tested but are
- used later. If you experience problems where the system functions
- properly at first, and then has problems later, use this option
- and then check the areas specified by the QEMM.COM ANALYSIS
- report.
-
- ~Item~ NOSHADOWRAM, (NOSH), tells QEMM not to use shadow RAM. PCs
- with the Chips & Technologies 386 chip set or NEAT chip set put
- the 384K of reserved memory in low memory with an I/O port-
- selectable method of getting at some of it. QEMM automatically
- determines if your PC has this capability. If QEMM fails at
- startup, it may be that this and detection failed the NOSH
- parameter is necessary.
-
- ~Item~ NOSORT, (NS), specifies that memory should not be sorted
- by speed. QEMM normally tests the speed of all conventional
- memory and all available extended memory, and uses the fastest
- memory first. Using NOSORT forces QEMM to use the memory in the
- order it finds it. The sorted memory is used to replace the
- initial 640K
- conventional memory, QEMM code and page tables, fill the video
- area, ROM mapping, RAM filling and expanded memory. QEMM gets its
- memory starting from the highest memory address possible for the
- amount specified in MEMORY (with a default of all). If
- conventional memory is remapped into faster memory, the initial
- state ON is forced and cannot be overridden.
-
- ~Item~ NOTOKENRING, (NTR), instructs QEMM to not attempt to
- detect the presence of a Token Ring Adapter. Token Ring Adapter
- boards generally do not follow the established custom by which
- peripheral adapter hardware is recognized as installed. QEMM will
- attempt to identify a Token Ring Adapter by other means in order
- to make this area of memory excluded automatically. It is
- possible that this alternate method may interfere with or disrupt
- another installed adapter. If this is the case on your system,
- you should use this switch and explicitly EXCLUDE the area used
- by your Token Ring Adapter if you have one.
-
- ~Item~ NOTOPMEMORY, (NT), tells QEMM not to look for top memory.
- Some PCs put 384K of memory just below the top of the standard AT
- 16 megabyte address space (384K below). QEMM386.SYS automatically
- looks there to determine if there is any memory. If there is
- memory, QEMM386.SYS will make it available for use. Sometimes a
- conflict occurs when QEMM386.SYS looks at the top of the memory
- space, perhaps because something is already using that area or
- memory, or perhaps because the hardware design of the computer
- does not like having software attempt to access this areas. In
- these cases, NT instructs QEMM386.SYS not to use (or look for)
- any memory at the top of the memory space. If your computer hangs
- when it boots, try the NT instruction.
-
- ~Item~ NOVDS, disables QEMM support of the Virtual DMA Services
- specification which defines the interaction between a 386 memory
- manager and a Bus Master device.
-
- ~Item~ NOVIDEOFILL, (NV), specifies that the memory area from
- A000 to B7FF is not to be filled with conventional memory. This
- option is normally only meaningful on monochrome and CGA PCs. On
- these systems QEMM will add memory from 640K (A000) to the bottom
- of the video adapter card (either B000 for monochrome or B800 for
- CGA) and adjust the memory size of DOS accordingly.
-
- ~Item~ NOXBDA, (NX), specifies that QEMM should not move the
- extended BIOS data area. On machines that have one, QEMM386.SYS
- automatically moves the eXtended BIOS Data Area (XBDA), which is
- normally at 639K, into the addresses used by QEMM386.SYS.
- QEMM386.SYS does this because the XBDA presents an obstacle to
- proper memory management. If a program which is running on a PS/2
- model 80 or other PC with an XBDA encounters difficulty, it may
- be assuming (erroneously) that the XBDA is at 639K. The NX
- instruction disables this feature.
-
-
- ~Item~ NOXMS instructs QEMM not to be an extended memory manager.
- Normally QEMM provides extended memory specification (XMS)
- services.
-
- ~Item~ OLDDV, (ODV), specifies that QEMM should be compatible
- with DESQview 1.3 and 2.00. This results in QEMM using 4K to 8K
- more conventional memory. DESQview 2.01 and above do not require
- this parameter.
-
- ~Item~ REGION, (R), an internal parameter set by OPTIMIZE. QEMM
- does not reside in high RAM, so it always ignores this switch.
-
- ~Item~ TASKS= xx (TA), sets the number of internal QEMM386.SYS
- data structures, used to handle interrupts out of protected mode.
- There are 16 TASKs by default. Each TASK requires 384 bytes of
- extended memory.
-
- ~Item~ UNUSUAL8042, (U8), specifies that the computer has a
- "non-standard" 8042 keyboard controller. Use this option if
- setting QEMM386.SYS to ON or running DESQview disables the
- keyboard.
-
- ~Item~ UNUSUALEXT, (UX), tells QEMM that the method of
- determining the amount of extended memory is non-standard. If
- QEMM hangs at boot time, this switch could help. This switch
- sometimes makes QEMM.COM's Memory report on extended memory
- inaccurate.
-